<?php 

	include("config.php");
    include(INCLUDEDIR."core.php");
	include("acceso.php");
	
	$tpl = new Plantilla();
	$tpl->setPlantilla("tpl.administradores.html");
	$tpl->prepare();
	$tpl->newBlock("FORMULARIOAGREGAR");
	
	
	$id_administrador = isset($_POST['id_administrador'])?intval($_POST['id_administrador']):0;
	$nombre_administrador = isset($_POST['nombre_administrador'])?sanitizar($_POST['nombre_administrador']):"";
	$nombre_completo = isset($_POST['nombre_completo'])?sanitizar($_POST['nombre_completo']):"";
	$password = isset($_POST['password'])?$_POST['password']:"";
	
	
	if($_POST['accion']=="agregar") {
		$error = "";
		if($id_administrador>0) {
			$ma = db::getRow("SELECT * FROM administradores WHERE id_administrador = '$id_administrador'");
			if($ma['nombre_administrador']=="admin") {
				if(!empty($password)) {
					mysql_query("UPDATE administradores SET password = '".md5($password)."' WHERE id_administrador = '$id_administrador'"); 
					redir("administradores.php","El password fue cambiado exitosamente");
				}
				redir("administradores.php","Los datos del administrador primario no se pueden cambiar",true);
			}
		} else {
			if($nombre_administrador=="admin") $error =	"No se puede guardar un administrador con ese nombre";
		}
		$administrador = new genericDB('administradores');
		$administrador->setId($id_administrador);
		$administrador->set('nombre_administrador',$nombre_administrador);
		$administrador->set('nombre_completo',$nombre_completo);
		
		if($id_administrador==0) {
			if(empty($password)) $error = "Debe escribir un password";
		} else {
			if($ma['nombre_administrador']==session_get("usuario")) {
				if(strlen($password)>1) $administrador->set("password",md5($password));	
			} else {
				$error = "Usted solo puede cambiar el password de su cuenta";
			}
		}		
		if(empty($nombre_administrador)) $error = "El nombre del administrador no puede ser vacio";
		if(strpos($nombre_administrador," ")!==false) $error = "El nombre no puede contener espacios";
		if(strlen($error)>0) {
			redir($_SERVER['PHP_SELF']."?ida=".$id_administrador,$error,true);
		}		
		if($administrador->Save()) {
			registrar_log("Creado administrador ".$nombre_administrador);
			redir("administradores.php","La información fue guardada exitosamente");	
		} else {
			redir($_SERVER['PHP_SELF']."?ida=".$administrador->getId(),"No se pudo actualizar la información",true);	
		}
	}
	
	if($_GET['ida']) {
		$id_administrador = intval($_GET['ida']);
		$miadministrador = db::getRow("SELECT * FROM administradores WHERE id_administrador = '$id_administrador'");
		foreach($miadministrador as $k => $v) {
			$tpl->assign($k,$v);				
		}
	}
	$tpl->assign("id_administrador",$id_administrador);
		
	$tpl->Mostrar();
?>